# compiler settings
CXX = g++
CXXFLAGS = -Wall -std=c++20 -fdiagnostics-color=always

# target file
TARGET = main

# source code files
Sources = main.cpp Admin.cpp DataCenter.cpp MeetingRoom.cpp SystemUI.cpp SystemUtils.cpp User.cpp 

# Object files to generate
Objects = $(Sources:.cpp=.o)

# compile executable files
$(TARGET): $(Objects)
	$(CXX) $(CXXFLAGS) -o $(TARGET) $(Objects)


# dependencies
main.o: main.cpp 
Admin.o: Admin.cpp Admin.h
DataCenter.o: DataCenter.cpp DataCenter.h Constant.h
SystemUI.o: SystemUI.cpp SystemUI.h Constant.h
SystemUtils.o: SystemUtils.cpp SystemUtils.h Constant.h
User.o: User.cpp User.h Constant.h
MeetingRoom.o: MeetingRoom.cpp MeetingRoom.h



clean:
	rm -rf $(Objects) $(TARGET)
clear:
	rm -rf $(Objects) $(TARGET)

